1. Technical Field
This application generally relates to data storage, and more particularly to techniques used in connection with device reservations.
2. Description of Related Art
Computer systems may include different resources used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as those included in the data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more host processors and provide storage services to each host processor. Multiple data storage systems from one or more different vendors may be connected and may provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations in connection with data requests, such as data read and write operations.
Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units, disk drives, and disk interface units. Such storage devices are provided, for example, by EMC Corporation of Hopkinton, Mass. and disclosed in U.S. Pat. No. 5,206,939 to Yanai et al., U.S. Pat. No. 5,778,394 to Galtzur et al., U.S. Pat. No. 5,845,147 to Vishlitzky et al., and U.S. Pat. No. 5,857,208 to Ofek. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels to the storage device and storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical disk units. The logical disk units may or may not correspond to the actual disk drives. Allowing multiple host systems to access the single storage device unit allows the host systems to share data stored therein.
In connection with devices used by a host, a host may make a device reservation. Device reservations, for example, as referenced in connection with the Small Computer Systems Interface (SCSI) standard, are used in connection with storage devices for allowing only certain users or computers to execute commands to the devices. For example, a reservation may allow only certain users, also referred to as an initiator port or host, to read or write to a volume on a device on a per path basis. In some cases, a host may be given exclusive permission to write to a volume while one or more other hosts may be given permission to read, but not write, to the volume. As known in the art, the SCSI standard may be characterized as a collection of standards managed by the T10 technical committee as described, for example, at the internet website associated with this committee. The device reservation feature is described, for example, in the SCSI-3 Architectural Model (SAM) available through the foregoing website.
A problem may occur when an existing reservation is not needed or is not otherwise in use, and another host wishes to access the reserved device. The existing reservation may be, for example, an old reservation that was not removed or released. The existing reservation for a device may also be a valid reservation, such as one applicable in connection with ongoing processing of a first host, and a second host may also need to access the device in connection with processing on the second host. The existing reservation may cause problems for subsequent hosts, such as the second host, trying to access the device by causing a reservation conflict. The reservation conflict may cause processing performed on the subsequent hosts to fail when attempting to access the reserved device.
Some existing reservations may be cleared, for example, by resetting or powering down the device, or with user action by issuing a command to clear an existing reservation. It may also be undesirable or impractical to reset or power down a device, or have explicit user intervention by issuing a command to clear the reservation. Additionally, there may be various types of reservations. In some implementations, there may be a reservation that can survive a reset and/or power down.
Accordingly, it may be desirable and advantageous to utilize a technique for overriding an existing reservation without having to reset and/or power down the device, or otherwise having explicit user intervention to clear the reservation, such as by issuing a command.